#ifndef _liblfcell_h_
#define _liblfcell_h_


#include <vector>
#include <cstdlib>
#include <ctime>

class lfCell
{

public:
	bool f_Status;
	std::vector<lfCell*> f_Neigh;
	int f_Sum;

	virtual bool m_Life();
	virtual bool m_Birth();

	void updateSum();
	void updateStatus();
	bool checkStatus() ;
	void setStatus(bool status) ;
	void addNeighbor(lfCell* cell) ;
};

class lfCellMaze : public lfCell
{

public:
	virtual bool m_Life() ;
	virtual bool m_Birth() ;
};

extern void GenerateMaze(int X, int Y, int **maze);

#endif
